home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Softdisk Magazette Volume 2, No. 06 (1983-02)(Softdisk)(Side B).zip
/
Softdisk Magazette Volume 2, No. 06 (1983-02)(Softdisk)(Side B).do
/
MEMDUMP.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
2KB
|
61 lines
100 REM -----------------------
110 REM
120 REM MEMDUMP
130 REM
140 REM ERIC MARKS
150 REM (C) NOV 1982
160 REM ALL RIGHTS RESERVED
170 REM
180 REM -----------------------
190 REM <CTRL-J>
200 REM TAB SETTINGS FOR PRINT RTN
210 DATA 7,10,13,16,19,22,25,28
220 FOR X = 0 TO 7: READ T(X): NEXT X
230 REM <CTRL-J>
240 PRINT "DECIMAL OR HEX? (D/H): ";: GET K$: PRINT
250 IF K$ = "D" THEN 320
260 IF K$ < >"H" THEN PRINT CHR$(7);: GOTO 240
270 REM <CTRL-J>
280 INPUT "ENTER START ADDRESS: ";N$: GOSUB 560:START = N
290 INPUT "ENTER END ADDRESS: ";N$: GOSUB 560:LAST = N
300 GOTO 350
310 REM <CTRL-J>
320 INPUT "ENTER START ADDRESS: ";START
330 INPUT "ENTER END ADDRESS: ";LAST
340 REM <CTRL-J>
350 HOME
360 FOR X = START TO LAST STEP 8
370 FOR Y = 0 TO 7
380 H(Y) = PEEK(X +Y)
390 NEXT Y
400 REM PRINT A LINE
410 N = X: GOSUB 620: PRINT OH$;: PRINT ": ";
420 FOR Z2 = 0 TO 7
430 N = H(Z2): GOSUB 620: HTAB (T(Z2)): PRINT OH$;
440 NEXT Z2
450 HTAB 32: REM EQUIVALENT LINE
460 FOR Z1 = 0 TO 7
470 IF H(Z1) > -1 AND H(Z1) <32 THEN INVERSE : PRINT CHR$(H(Z1) +192);: NORMAL : GOTO 520
480 IF H(Z1) >31 AND H(Z1) <128 THEN PRINT CHR$(H(Z1));: GOTO 520
490 IF H(Z1) >127 AND H(Z1) <160 THEN INVERSE : PRINT CHR$(H(Z1) -64);: NORMAL : GOTO 520
500 IF H(Z1) >159 AND H(Z1) <224 THEN PRINT CHR$(H(Z1));: GOTO 520
510 IF H(Z1) >223 THEN PRINT ".";
520 NEXT Z1
530 PRINT
540 NEXT X
550 END
560 REM HEX TO DECIMAL
570 REM NUMBER PASSED IN N$
580 N = 0: FOR I = 1 TO LEN(N$):A = ASC( MID$ (N$,I,1)) -48: IF A >9 THEN A = A -7
590 IF A <0 OR A >15 THEN CALL -211: PRINT : GOTO 610
600 N = 16 *N +A: NEXT
610 RETURN : REM EXIT HEX->DEC WITH N<CTRL-J>
620 REM DECIMAL TO HEX
630 REM NUMBER PASSED IN N
640 OH$ = "":X$ = ""
650 H1$ = "0123456789ABCDEF"
660 N1 = INT(N/16):OH$ = OH$ + MID$ (H1$,N -16 *N1 +1,1):N = N1: IF N >0 THEN 660
670 FOR Z = 4 TO 1 STEP -1:X$ = X$ + MID$ (OH$,Z,1): NEXT Z:OH$ = X$
680 IF LEN(OH$) = 1 THEN OH$ = "0" +OH$
690 IF LEN(OH$) = 3 THEN OH$ = "0" +OH$
700 RETURN : REM EXIT DEC->HEX WITH OH$:REM<CTRL-J>